package be.ipl.pigolo.domaine;

import java.io.Serializable;

@SuppressWarnings("serial")
public class DeOrdre extends De implements Serializable {

	public enum Action {
		/**
		 * La couleur qui a la plus grande somme gagne
		 */
		PLUS_GRANDE_SOMME,
		/**
		 * La couleur qui a la plus petite somme gagne
		 */
		PLUS_PETITE_SOMME,
		/**
		 * La couleur qui a le plus grand écart gagne
		 */
		PLUS_GRAND_ECART,
		/**
		 * La couleur qui a le plus de nombres impairs gagne
		 */
		PLUS_GRAND_NOMBRE_IMPAIR,
		/**
		 * La couleur qui affiche le dé de plus grande valeur gagne
		 */
		PLUS_HAUTE_VALEUR,
		/**
		 * La couleur qui a une somme le plus proche de 9 gagne
		 */
		SOMME_EGALE_A_9
	}

	/**
	 * 
	 * @return L'action correspondante à la valeur du dé ordre
	 */
	public Action actionDeOrdre() {
		switch (this.getValeur()) {
		case 1:
			return Action.PLUS_GRANDE_SOMME;
		case 2:
			return Action.PLUS_PETITE_SOMME;
		case 3:
			return Action.PLUS_GRAND_ECART;
		case 4:
			return Action.PLUS_GRAND_NOMBRE_IMPAIR;
		case 5:
			return Action.PLUS_HAUTE_VALEUR;
		case 6:
			return Action.SOMME_EGALE_A_9;
		default:
			return null;
		}
	}

	/**
	 * Converti la valeur du dé ordre en la chaine de caractère correspondante
	 * 
	 * @return La chaine de caractère représantant l'action
	 */
	public String convertirValeur() {
		String chaine = actionDeOrdre().toString();
		return chaine;
	}

	public String toString() {
		return "" + this.convertirValeur();
	}

}
